package com.sunlx.product.mapper.MyDb2;

import com.sunlx.product.domain.entity.TableDll;
import com.sunlx.product.domain.vo.TableDataVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;


/**
 * 从库 查询数据库，里面包含不同数据的类似方法
 * @author Sunluxin
 * @date 2023/1/10 15:38
 */
@Mapper
public interface MyDb2Mapper {
    ///////////////////////////////////////////////////////////////////////////
    // Oracle
    ///////////////////////////////////////////////////////////////////////////
    /**
     *
     * 获取数据库表和字段信息
     * @param
     * @return {@link List< TableDataVo>}
     * @author Sunluxin
     * @date 2023/1/13 15:00
     */
    List<TableDataVo> selectTableData_Oracle();
    /**
     * 查询建表语句
     * @param tableName
     * @param userName
     * @return {@link List< TableDll>}
     * @author Sunluxin
     * @date 2023/1/13 15:01
     */
    List<TableDll> selectTableDll_oracle(@Param("tableName")String tableName, @Param("userName")String userName);

    ///////////////////////////////////////////////////////////////////////////
    // MySQL
    ///////////////////////////////////////////////////////////////////////////
    /**
     * 查询表结构 及字段结构信息
     * @param tableSchema
     * @return {@link List< TableDataVo>}
     * @author Sunluxin
     * @date 2023/1/13 15:01
     */
    List<TableDataVo> selectTableData_Mysql(@Param("tableSchema")String tableSchema);
    /**
     * 查询建表语句
     * @param tableName
      * @return {@link List< TableDll>}
     * @author Sunluxin
     * @date 2023/1/13 15:01
     */
    List<TableDll> selectTableDll_mysql(@Param("tableName")String tableName);
}
